package com.demo2do.fms.admin.service.supplier;

import com.demo2do.fms.admin.service.DataService;
import com.demo2do.fms.entity.supplier.common.Supplier;
import com.demo2do.fms.entity.supplier.common.SupplierInfo;
import com.demo2do.fms.entity.supplier.common.SupplierModifiedVersion;

/**
 * 
 * @author Wy
 *
 */
public interface SupplierInfoService extends DataService<SupplierInfo> {
    
    /**
     * get supplierInfo by supplierId
     * 
     * @param supplierId
     * @return
     */
    public SupplierInfo load(Long supplierId);
    
    /**
     * @param supplier
     * @param supplierInfo
     * @param operator
     */
    public void edit(Supplier supplier, SupplierInfo supplierInfo, Long operator);
    
    /**
     * 
     * @param supplier
     * @return
     */
    public SupplierModifiedVersion prepareChange(Supplier supplier);
    
    /**
     * 
     * @param supplier
     * @param supplierModifiedVersion
     * @param operator
     */
    public void change(Supplier supplier, SupplierModifiedVersion supplierModifiedVersion, Long operator);

    /**
     * 更新付款信息
     * @param supplierId
     * @param operator
     * @param supplierInfo
     */
    void updatePaymentInfo(Long supplierId, Long operator, SupplierInfo supplierInfo);
}
